/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package projeto.voztg.pkg2.pkg0;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 * @author cris
 */
public class MouseAbstrato {

    static SonsThread voz;
    private static Historico h = new Historico();
   

    public static String TimerRedirect(int _botao, String _texto) {

        voz = new SonsThread();
        String retorno = "";


        switch (_botao) {


            case 3:
                if (Relogios.timOpcoes.isRunning()) {
                    if ("espasso".equals(Relogios.getOpcaoAtual())) {
                        retorno = " ";
                    } else {
                        Relogios.timOpcoes.stop();
                        Relogios.InicTimerCorreto();
                    }
                } else if (Relogios.SomeIsRunning() == false) {
                    Relogios.timOpcoes.start();
                } else {
                    Relogios.paraControle();
                    Relogios.timOpcoes.start();
                    retorno = Relogios.getLetraAtual();
                    h.insere(_texto+retorno);

                }
                break;


            case 1:
                if ("".equals(_texto)) {
                    Relogios.paraControle();
                } else {
                    Relogios.paraControle();
                    String padrao = "\\s{2,}";
                    Pattern regPat = Pattern.compile(padrao);//metodo para excluir excesso de espaços em uma string
                    String frase = _texto;
                    Matcher matcher = regPat.matcher(frase);
                    String textoDoDiscurso = matcher.replaceAll(" ").trim().toLowerCase();//termina aqui
                    new FurbSpeech().withVoice(Config.getVozSelecionada()).text(textoDoDiscurso).to("discurso.wav").speech();
                    SomWav s = new SomWav(Config.getCaminhoOutPut() + "discurso.wav");
                    s.tocaSom();
                }
                break;
        }



        return retorno;

    }

    public static String eraseTextOrLetter(int _botao, String _texto) {
        String retorno = "";

        if (_botao == 1) {
            if ("".equals(_texto)) {
                Relogios.paraControle();
            } else {
                Relogios.paraControle();
                //voz.tocaSom(voz.TEXTO_APAGADO);
                SomWav s = new SomWav(Config.getCaminhoOutPut() + LetrasENumeros.nome_Arq_Texto_apagado + ".wav");
                s.tocaSom();
                 retorno = "";
                 h.insere(retorno);
            }

        } else {
                 //  voz.tocaSom(voz.LETRA_APAGADA);
                SomWav s = new SomWav(Config.getCaminhoOutPut() + LetrasENumeros.nome_Arq_Desfazer + ".wav");
                s.tocaSom();
                Relogios.paraControle();
                retorno = h.devolve();
             //   System.out.println(retorno);
                     

        }
        return retorno;
    }
    
    public static void apagarHistorico(){
    h.apagarHistorico();
    }
    
}
